iT邦幫忙

2024 iThome 鐵人賽

DAY 17
1
Python

從0開始學習Python-為未來學習AI奠定基礎系列 第 17

從0開始學習Python---AI 中的模組

  • 分享至 

  • xImage
  •  

AI 中常用的 Python 系統模組

除了自己寫模組,Python 還有很多內建的模組,很適合用來進行 AI 的開發。以下介紹幾個常見的模組,可以處理隨機數、時間、系統操作等。

random 模組

AI 開發中經常需要用到隨機數,比如隨機選擇數字或打亂資料。而 random 模組可以實現這些操作。

  • randint(a, b):隨機生成範圍內的整數。
  • choice(seq):從序列中隨機選擇一個元素。
  • shuffle(seq):隨機打亂序列順序。

https://ithelp.ithome.com.tw/upload/images/20240916/20168994NXW6duTpcQ.pnghttps://ithelp.ithome.com.tw/upload/images/20240916/20168994a9sjxyE9VH.png

這個程式會在 1 到 10 之間隨機選擇一個數字。

time 模組

在 AI 的訓練過程中經常會需要控制時間,time 模組能幫助我們處理各種時間操作,比如計算運行時間、延遲執行等。

  • time():獲取當前的時間。
  • sleep(seconds):讓程式暫停指定的秒數。

https://ithelp.ithome.com.tw/upload/images/20240916/20168994ZXN6H9zROF.pnghttps://ithelp.ithome.com.tw/upload/images/20240916/20168994LBXpNs5fMq.pnghttps://ithelp.ithome.com.tw/upload/images/20240916/20168994hBYE4awiQH.png

這個程式會先暫停 2 秒,再繼續執行。

sys 模組

sys 模組能夠讓我們獲取和操作 Python 系統參數,這對於處理系統資源、環境變數等非常有幫助。

  • sys.version:查看 Python 的版本。
  • sys.path:列出所有模組的搜尋路徑。

https://ithelp.ithome.com.tw/upload/images/20240916/20168994Ps9NSoIjNl.pnghttps://ithelp.ithome.com.tw/upload/images/20240916/20168994TkBoHA9Hfa.png

這個程式顯示目前使用的 Python 版本以及模組的搜尋路徑。


小專題:簡單的 AI 訓練模組

建立一個包含隨機數生成器和計時功能的模組:使用 random 和 time 模組,讓 AI 根據時間限制隨機做出決策。

https://ithelp.ithome.com.tw/upload/images/20240916/20168994uiLrJ91YMr.png

  1. [47~48] 這一段是 ai_decision 函數,decisions 是一個包含四個字串的列表,分別代表 AI 可以做出的四種決策:前進、後退、左轉和右轉。

  2. [49~50] 用來模擬 AI 在做決策之前進行“思考”的過程。首先,我們用 print 函數輸出提示,讓使用者知道 AI 正在進行思考。接著,我們使用 time.sleep(1),讓程式暫停 1 秒。

  3. [48、51] random.choice() 這個函數會從我們定義的 decisions 列表中隨機選擇一個元素。所以每次執行程式時,AI 會做出不同的決策。而 random.choice() 可以快速地從一個列表中選擇一個隨機項目,非常適合這種需要隨機選擇的場景。

  4. [54~56] for 迴圈用來重複執行 ai_decision() 函數 3 次。每次我們都會呼叫 ai_decision(),讓 AI 做出一個隨機決策,並把這個決策存放在 decision 變數中。接著,我們使用 print 函數來將 AI 的決策輸出到螢幕上。這樣我們就可以看到 AI 每次做出的決策了。

第一次輸出:⬇⬇⬇⬇⬇⬇⬇⬇ 第二次輸出:⬇⬇⬇⬇⬇⬇⬇⬇ 第三次輸出:⬇⬇⬇⬇⬇⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20240916/20168994yLEo4f84iu.pnghttps://ithelp.ithome.com.tw/upload/images/20240916/20168994cR7BZLXe1v.pnghttps://ithelp.ithome.com.tw/upload/images/20240916/20168994nBaa59hcXn.png

結語

今天對模組有了更進一步的認識,尤其特別挑選跟 AI 有關的。因為發現訓練 AI 模型時,真的會看到 random, time, sys 這些模組,當時我雖然能從字面上來猜想它們的用途,但因為是使用已經建構好的模板來訓練,所以我學習最多的應該是紀錄和分析訓練的參數~並不覺得自己能夠從頭到尾把這些模型的架構建立起來。

這也是我在鐵人檔案裡說到的,希望我對看過的語法不再只是因為看不懂而草草略過,而是更加理解、能自己建構這樣的模型><所以現在都會用 AI 去連結新學到的知識,我相信這樣會慢慢的靠近 AI 吧!


上一篇
從0開始學習Python---基礎的模組
下一篇
從0開始學習Python---程式除錯與異常處理
系列文
從0開始學習Python-為未來學習AI奠定基礎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言